﻿/*
 */

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.ComponentModel.DataAnnotations;

namespace SoftHotel.Models
{
    public class ReservaHab
    {
        [Key]public int idReserva { get; set; }
        
        public int idCliente { get; set; }

        /* Los sgtes atributos no forman parte de la tabla de reserva 
         * pero si de la pantalla
         * 
         */

        [NotMapped]public string nombreRazonSocial { get; set; }
        [NotMapped]public int tipoDocumento { get; set; }
        [NotMapped]public string numeroDocumento { get; set; }
        [NotMapped]public string nombreEstado { get; set; }

        /* Los sgtes atributos que sí forman parte de la tabla de reserva 
         * 
         */

        public String numeroReserva { get; set; }

        /* Tipo de reserva es:
         * 0 Habitacion
         * 1 Evento
         */

        public int tipo { get; set; }

        public DateTime fechaCheckin { get; set; }

        public DateTime fechaCheckout { get; set; }

        public DateTime fechaCreacion { get; set; }

        /*La reserva maneja 5 estados:
         * 0 Reservada
         * 1 Confirmada (Pagada)
         * 2 Iniciada
         * 3 Finalizada
         * 4 Anulada
         */

        public int estado { get; set; }

        public int cantidadInvitados { get; set; }

        public decimal? total { get; set; }

        //Estas son las fechas de checkin y checkout reales 

        public DateTime? fechaCheckin2 { get; set; }

        public DateTime? fechaCheckout2 { get; set; }

        /* En esta lista se maneja el detalle de la reserva
         * la reserva maneja una lista de objetos de detalleReserva
         */

        //public List<DetalleReservaHab> detalle { get; set; }

        public Cliente cliente { get; set; } //Mono!!, el [NOTMAPPED] me malogra mi controlador!!!

        //Constructor para el detalle

        public ReservaHab()
        {
            this.tipo = 0;
            this.cantidadInvitados = 0;
            //this.detalle = new List<DetalleReservaHab>();
            //detalle.Add(new DetalleReservaHab());
        }
    }
}